﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CNRS.coManageAS
{
    public class RootObject
    {
        public string ResponseType { get; set; }
        public string Version { get; set; }
    }

    #region step 1
    public class OrgIdentity
    {
        public string Version { get; set; }
        public string Id { get; set; }
        public string O { get; set; }
        public string CoId { get; set; }
        public string Created { get; set; }
        public string Modified { get; set; }
    }

    public class OrgIdentityRoot : RootObject
    {
        public List<OrgIdentity> OrgIdentities { get; set; }
    }
    #endregion
    
    #region step 2
    public class CoOrgIdentityLink
    {
        public string Version { get; set; }
        public string Id { get; set; }
        public string CoPersonId { get; set; }
        public string OrgIdentityId { get; set; }
        public string Created { get; set; }
        public string Modified { get; set; }
    }

    public class CoOrgIdentityLinkRoot : RootObject
    {
        public List<CoOrgIdentityLink> CoOrgIdentityLinks { get; set; }
    }
    #endregion

    #region step 3
    public class CoPeople
    {
        public string Version { get; set; }
        public string Id { get; set; }
        public string CoId { get; set; }
        public string Status { get; set; }
        public string Created { get; set; }
        public string Modified { get; set; }
    }

    public class CoPeopleRoot : RootObject
    {
        public List<CoPeople> CoPeople { get; set; }
    }
    #endregion

    #region step 4
    public class Person
    {
        public string Type { get; set; }
        public string Id { get; set; }
    }

    public class IdentifierDAO
    {
        public string Version { get; set; }
        public string Id { get; set; }
        public string Identifier { get; set; }
        public string Type { get; set; }
        public bool Login { get; set; }
        public Person Person { get; set; }
        public string Created { get; set; }
        public string Modified { get; set; }
        public string Status { get; set; }
    }

    public class IdentifierRoot : RootObject
    {
        public List<IdentifierDAO> Identifiers { get; set; }
    }
    #endregion
}
